AWS ConfigからSNSへ直接通知を送信する方法
はじめに
かつまたです。AWS ConfigからSNSに通知を送信する方法として、以前の記事で紹介しましたが、各種設定や権限によりEventBridgeを使用せずとも通知を送信することが可能であるため、今回試してみました。
ConfigルールやSNSトピック、EC2等の設定は以下の記事と同様に作成したため省略しております。
AWS Configの設定
1.AWSマネジメントコンソールからAWS Configサービスに移動します。
2.ナビゲーションメニューの「設定」→「編集」→「配信方法」から「Amazon SNS トピックへのストリーム設定の変更と通知」を有効化します。
3.「アカウントからトピックを選択」を選択し、作成したSNSトピック名を選択します。
SNSトピックポリシーの設定
1.AWSマネジメントコンソールからSNSに移動し、「SNSトピック」へ移動します。
2.作成したトピックを選択し、「アクセスポリシー」からAWS Configに対し、許可ポリシーが設定されているかを確認します。
3.必要に応じてポリシーを編集します。ポリシーを編集するには、「ポリシーを編集」をクリックし、適切なポリシーを追加、修正します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "config.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "SNSトピックのARN名"
}
]
}
IAMロールの確認
1.AWSマネジメントコンソールからIAMに移動し、「ロール」を選択します。
2.AWS Configが使用しているロールを選択し、詳細を表示します。
3.「許可」を選択し、SNSトピックにメッセージを公開するためのポリシーが含まれているか確認します。
4.追加する場合、「インラインポリシーを追加」または「ポリシーをアタッチ」→「JSON」からポリシーを追加、修正します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "SNSトピックのARN名"
}
]
}
メール通知確認
1.上記に記載したブログ内の「4.非準拠EC2の起動と通知確認」の手順同様に設定したConfigルールに非準拠なリソースを作成します。
2.SNSサブスクリプションに登録したメールアドレスを確認し、メール通知が配信されていることを確認します。
終わりに
EventBridgeを使用することでSNSの他にLambdaやSQSなど複数のターゲットへの配信やイベントのフィルタリングが可能ですが、今回のようなリソース検出とSNSトピックのみへの配信といったユースケースではEventBridgeを使用せずに単純な構成で作成が可能です。
ご覧いただきありがとうございました。
参考
AWS Config から Amazon SNS トピックに送信される通知 - AWS Config
Amazon EventBridge による AWS Config の監視
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。